1. Technical Field
The present disclosure relates to UDDI and, more specifically, to publication in an internal UDDI.
2. Description of the Related Art
Web services present a new way for computer to communicate with each other. Web services are software systems that can be identified by Universal Resource Identifiers (URI), analogous to identification of websites by Uniform Resource Locator (URL). Web services generally perform specialized functions or provide access to information. Web services generally contain public interfaces and bindings that enable other software systems (such as other web services) to seamlessly utilize its functionality. In this way, web services are transforming the way modern enterprises interact and share information.
Some cross-platform programming languages have been developed to facilitate communication between various different computer systems. A popular example of one such programming language is Extensible Markup Language (XML). Many web services interact with one another using XML which is a human readable format. In addition, web services are also used in non-English environments through the use of Unicode which is a universal language code.
Web services are well suited for access over computer networks such as intranets and the internet. Many web services communicate via port 80, the standard “world wide web” internet port. An enterprise may make a web service available over a corporate intranet for the use of enterprise employees. Alternatively, an enterprise might make a web service publicly available worldwide over the internet.
However, a software system seeking to access a web service should generally first be able to locate and connect to the web service. This may require knowledge of the web service's URI. If a URI is not known, it may still be possible to locate that web service. The process of locating and connecting to a web service is commonly known as discovery and integration. Universal Description, Discovery and Integration (UDDI) standards have been adopted to standardize and facilitate discovery and integration.
Computers can use UDDI to find the location of web services without necessarily knowing its URI, in a manner similar to looking for businesses in a yellow pages phone book. UDDI also includes a standardized vocabulary for describing the functionality of web services. UDDI repositories generally are provided as directories in which information pertaining to an enterprise, its services, technical information, and information about specifications for the enterprise's web services can be looked up.
Enterprises may maintain public and/or private UDDI repositories. An enterprise may wish to make a UDDI repository public if it seeks to offer the listed web services to the public. Alternatively, an enterprise may wish to maintain a private UDDI repository. Private UDDI repositories may be made available to a select group of users, for example, the employees, customers or other groups of enterprise constituency.
An enterprise may wish to keep a UDDI repository private when web services listed within it are of a sensitive nature, for example, web, services designed to facilitate commercial banking transactions. Even though the web services themselves may be private and only accessible to users with appropriate security privileges, publicizing the URI of a private web service may make that web service a target for hackers and/or malicious attack.
A traditional model for UDDI calls for a small number of very large public UDDI repositories. This model facilitates discovery of web services but does not provide for private UDDI repositories where a list of sensitive web services can be provided to select users.
While private UDDI repositories facilitate users discovery of internal web services within their own enterprise, users may also wish to have their private UDDI repositories facilitate discovery of external web services that are maintained by other enterprises but made available to the users. To accomplish this, the users may list the external web services within their own private UDDI repositories. However problems are likely to emerge as changes are made to the external-web service, for example, the URI of the external web service may change and the private UDDI repositories may not reflect this change thereby preventing discovery of the external web service.
One way around this problem is to allow the other enterprise access to the private UDDI repository so the other enterprise can update information related to the web services they maintain. However this alternative creates a security risk as users from the other enterprise will be allowed to access the private UDDI repository and potentially view sensitive information that may relate to private internal web services and/or private external web services maintained by a third enterprise.